package com.mask.country;

import java.util.List;

public class Test {



    public static void main(String[] args) {
        List<Country> list = new CountryDao().getList();

        System.out.println("-----------------------------------所有国家列表-----------------------------------");
        list.forEach(System.out::println);


        System.out.println("-----------------------------------按照人口从少到多的顺序输出所有亚洲国家列表-----------------------------------");
        list.stream().sorted((c1,c2)->{
            return c1.getPopulation() -c2.getPopulation();
        }).forEach(System.out::println);


        System.out.println("-----------------------------------统计南美洲国家数量-----------------------------------");
        long count = list.stream().filter(e -> e.getContinent().equals("南美洲")).count();
        System.out.println(count);


        System.out.println("-----------------------------------输出所有欧洲国家的名称及其首都（首府）名称-----------------------------------");
        list.stream()
                .filter(e -> e.getContinent().equals("欧洲"))
                .forEach(e ->{
                    System.out.println("国家名称："+e.getName()+"\t首都名称："+e.getCapital());
                });

        System.out.println("-----------------------------------输出所有大洋洲法属国家列表-----------------------------------");
        list.stream().filter(e -> e.getContinent().equals("大洋洲")).filter(e -> e.getName().contains("（法）")).forEach(System.out::println);

        System.out.println("-----------------------------------输出陆地面积前10名的国家名称及人口数量-----------------------------------");
        list.stream().sorted((c1,c2) -> {
            return (int) (c2.getLandArea() - c1.getLandArea());
        }).limit(10).forEach(e -> System.out.println("国家名称:"+e.getName()+"\t人口数量:"+e.getPopulation()));


        System.out.println("-----------------------------------输出人口密度前10名的国家名称、人口数量、面积（选做）-----------------------------------");
        list.stream().sorted((c1,c2) -> {
            return (int) (c2.getPopulation()/c2.getLandArea() - c1.getPopulation()/c1.getLandArea());
        }).limit(10).forEach(e -> System.out.println("人口数量:"+e.getPopulation()+"\t面积:"+e.getLandArea()));


        System.out.println("-----------------------------------自己想一个有创意的输出？（认真点，为师眼睛都快瞎了）-----------------------------------");


    }



}